package com.wu.util;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.log4j.Logger;

public class ConMysql {

	private  boolean isInt = false;
	private  Connection conn = null;
	private static Logger logger = Logger.getLogger(ConMysql.class);

	public void getCon() {
		String url = "jdbc:mysql://localhost:3306/db_mblog?"
				+ "user=root&password=zjl005&useUnicode=true&characterEncoding=UTF8";
		try {
			// 之所以要使用下面这条语句，是因为要使用MySQL的驱动，所以我们要把它驱动起来，
			// 可以通过Class.forName把它加载进去，也可以通过初始化来驱动起来，下面三种形式都可以
			Class.forName("com.mysql.jdbc.Driver");// 动态加载mysql驱动

			// 一个Connection代表一个数据库连接
			conn = DriverManager.getConnection(url);

		} catch (SQLException e) {
			logger.info("MySQL操作错误");
			e.printStackTrace();
		} catch (Exception e) {
			logger.info("MySQL操作错误");
			e.printStackTrace();
		}
	}
	
	public  void closeCon() {
		try {
			conn.close();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	
	public  int insertSql(String sql) throws Exception {
		if(conn==null){
			this.getCon();
		}
		int result = 0;
		Statement stmt = conn.createStatement();
		stmt.execute("set character set utf8mb4");
		result = stmt.executeUpdate(sql);// executeUpdate语句会返回一个受影响的行数，如果返回-1就没有成功
		stmt.close();
		return result;
	}

	
	public  boolean checkId(String sql) {
		if(conn==null){
			this.getCon();
		}
		Statement stmt;
		try {
			stmt = conn.createStatement();
			ResultSet result = stmt.executeQuery(sql);// executeUpdate语句会返回一个受影响的行数，如果返回-1就没有成功
			if(result.next()){
				result.close();
				stmt.close();
				return true;
			}else{
				result.close();
				stmt.close();
				return false;
			}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return false;
	}
}
